﻿Imports DTO
Imports DAO
Imports BUS


Public Class frmCapNhatLoaiDocGia : Inherits DevComponents.DotNetBar.Office2007Form

    ' Hàm reset
    Private Sub Reset()
        'txtTenBangCap.Text = ""
        txtMaLoaiDocGia.Text = ""
        txtTenLoaiDocGiaMoi.Text = ""
    End Sub

    ' Hàm kiểm tra dữ liệu khi thêm
    Private Function KiemTraDuLieuThem() As Boolean
        Return txtTenLoaiDocGia.Text <> ""
    End Function

    ' Khi nhấn nút Thoát
    Private Sub btnThoat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        Me.Close()
    End Sub

    ' Hàm thực hiện thêm bằng cấp
    Private Sub btnThem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnThem.Click
        If KiemTraDuLieuThem() Then
            Dim kt As Integer = New CLoaiDocGiaBUS().ThemLoaiDocGia(txtTenLoaiDocGia.Text)
            If (kt = (-1)) Then
                MessageBox.Show("Số loại độc giả không được vượt quá số lượng quy định", "Thong Bao")
                txtTenLoaiDocGia.Text = ""
                Return
            Else
                If (kt = 0) Then
                    MessageBox.Show("Tên loại độc giả này đã tồn tại!", "Thong Bao")
                    txtTenLoaiDocGia.Text = ""
                    Return
                Else
                    MessageBox.Show("Đã thêm thành công!", "Thong Bao")
                    txtTenLoaiDocGia.Text = ""
                    Dim listloaidocgia As List(Of CLoaiDocGiaDTO) = New CLoaiDocGiaBUS().LoadLoaiDocGia()
                    dgvDanhSachLoaiDocGia.Rows.Clear()
                    stt = 1
                    For Each loaidocgia As CLoaiDocGiaDTO In listloaidocgia
                        dgvDanhSachLoaiDocGia.Rows.Add(stt, loaidocgia.Ma, loaidocgia.Ten)
                        stt += 1
                    Next
                    Return
                End If
            End If
        Else
            MessageBox.Show("Dữ liệu không hợp lệ!", "Thong Bao")
            txtTenLoaiDocGia.Focus()
            Return
        End If

    End Sub

    Private stt As Integer

    ' Hàm load
    Private Sub frmCapNhatLoaiDocGia_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        stt = 1
        dtiNgayThang.Value = DateTime.Now

        ' Load danh sách loại độc giả vào trong datagridview:
        Dim listloaidocgia As List(Of CLoaiDocGiaDTO) = New CLoaiDocGiaBUS().LoadLoaiDocGia()
        dgvDanhSachLoaiDocGia.Rows.Clear()
        For Each loaidocgia As CLoaiDocGiaDTO In listloaidocgia
            dgvDanhSachLoaiDocGia.Rows.Add(stt, loaidocgia.Ma, loaidocgia.Ten)
            stt += 1
        Next
    End Sub


    ' Xử lý khi chọn vào dòng nào trong datagridview thì ta load nó lên cập nhật:
    Private Sub dgvDanhSachLoaiDocGia_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvDanhSachLoaiDocGia.CellClick
        Dim index As Integer = e.RowIndex
        If index < 0 Then
            If txtMaLoaiDocGia.Text <> "" Then
                Reset()
            End If
            Return
        End If

        If (index >= dgvDanhSachLoaiDocGia.Rows.Count) Then
            If (txtMaLoaiDocGia.Text <> "") Then
                Reset()
            End If
            Return
        End If

        Dim dr As DataGridViewRow = dgvDanhSachLoaiDocGia.Rows(index)
        txtMaLoaiDocGia.Text = dr.Cells("clMaLoaiDocGia").Value
        txtTenLoaiDocGiaMoi.Text = dr.Cells("clTenLoaiDocGia").Value

    End Sub


    Private Sub btnCapNhat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCapNhat.Click
        Dim loaidocgia As New CLoaiDocGiaDTO()
        If (Not Integer.TryParse(txtMaLoaiDocGia.Text, loaidocgia.Ma)) Then
            MessageBox.Show("Cần chọn loại độc giả muốn cập nhật!", "Thong Bao")
            Return
        End If
        If (txtTenLoaiDocGiaMoi.Text = "") Then
            MessageBox.Show("Cần nhập tên loại độc giả mới để cập nhật!", "Thong Bao")
            txtTenLoaiDocGiaMoi.Focus()
            Return
        End If

        loaidocgia.Ten = txtTenLoaiDocGiaMoi.Text

        Dim loaidocgiabus As New CLoaiDocGiaBUS()
        Dim kq As Integer = loaidocgiabus.CapNhatLoaiDocGia(loaidocgia)
        If (kq = 0) Then
            MessageBox.Show("Tên loại độc giả này đã có", "Thong Bao")
            Return
        Else
            MessageBox.Show("Đã cập nhật thành công!", "Thong Bao")
            Reset()
            dgvDanhSachLoaiDocGia.Rows.Clear()
            Dim listloaidocgia As List(Of CLoaiDocGiaDTO) = New CLoaiDocGiaBUS().LoadLoaiDocGia()
            stt = 1
            For Each ldg As CLoaiDocGiaDTO In listloaidocgia
                dgvDanhSachLoaiDocGia.Rows.Add(stt, ldg.Ma, ldg.Ten)
                stt += 1
            Next
            Return
        End If

    End Sub


End Class